#定义登录页面对象
#定义对象库层
from base.mis.base import Base1,base_handle1

from selenium.webdriver.common.by import By
class mis_login_page(Base1):
    def __init__(self):
        self.username=By.ID,"username"#定义用户元素
        self.password=By.ID,"password"#定义密码元素
        self.mis_btn=By.CSS_SELECTOR,"btn"#定义按钮元素 记得登录信息要断言
        super().__init__()
        #寻找用户名元素
    def find_mis_username(self):
        return self.wait1(self.username)
        #寻找密码元素
    def find_mis_password(self):
        return self.wait1(self.password)
    #寻找按钮元素
    def find_mis_btn(self):
        return self.wait1(self.mis_btn)

#定义操作层
class mis_login_page2(base_handle1):
    def __init__(self):
        #调用类中的不同方法
        self.a=mis_login_page()
        super().__init__()
    def mis_input_username(self,username):#输入用户名 用户名会变名 所以以参数形式显示
        return  self.input_text(self.a.find_mis_username(),username)
    #定义输入密码
    def mis_input_password(self,password):
        return self.input_text(self.a.find_mis_password(),password)
    #执行登录前 先要通过JS跳过验证码登录
    def mis_click_btn(self):
        js="document.getElementById('inp1').removeAttribute('disabled')"
    #通过execute_script方法执行JS 先获取驱动对象 那么我的驱动对象从哪来呢 self.a竟然可以调用驱动从基类中继承过来的 也可以从utils调用 两种方法
        self.a.driver.execute_script(js)
        self.a.find_mis_btn().click()



#定义业务层
class mis_yewu:#补充 登录要断言
    def __init__(self):
        self.b=mis_login_page2()
    #执行输入名字操作
    def do_mis_yewu(self,username,password):
        #执行输入名字
        self.b.mis_input_username(username)
        #执行输入密码
        self.b.mis_input_password(password)
        #执行点击按钮
        self.b.mis_click_btn()